Network processing devices, such as routers and switches, include multiple ports that are connected to different communication lines. Data packets are received on these ports and sent through a switch fabric to output ports. Certain control packets are sent through the switch fabric to a controller in the packet processing device. The controller uses the control packets to control packet processing and exchange information with other network processing devices in the network.
The controller may require both an Internet Protocol (IP) address and an associated Media Access Control (MAC) address for routing packets to the correct destination points. If the controller does not have the MAC addresses for an IP packet to be forwarded or an IP packet it wants to send out, an address request is broadcast over the network using an Address Resolution Protocol (ARP). The ARP request includes the IP address for the requested MAC address.
The endpoint associated with that destination IP address receives the ARP request and sends back an ARP reply containing its MAC address. After receiving the ARP reply, the controller in the network processing device updates a table that associates the IP address with the MAC address.
A substantial amount of network resources and network bandwidth is used when ARP requests are broadcast over the network. The network processing device may have multiple processors or applications that each need to identify both IP addresses and their associated MAC addresses. Additional network resources and bandwidth are used when each of these multiple processors or applications in the same network processing device separately broadcast ARP requests and receive ARP replies over the network.
The present invention addresses this and other problems associated with the prior art.